const http = require('http')
const fs = require('fs')
const path = require('path')

// 创建一个http实例
const server = http.createServer()

// 监听请求事件，只要有人请求了，回调函数就会执行
server.on('request', (req, res) => {
  // req代表 request请求对象
  // res代表 response响应对象
  console.log(req.url, req.method);
  // 判断请求的路径和方法，根据路径和方法去读取不同的文件，然后再响应给客户端
  if (req.url === '/index.html' && req.method === 'GET') {
    fs.readFile(path.resolve(__dirname, 'demo', 'index.html'), 'utf-8', (err, data) => {
      if (err) throw err
      res.setHeader('Content-Type', 'text/html;charset=utf-8');
      res.end(data)
    })
  } else if (req.url === '/styles/index.css' && req.method === 'GET') {
    fs.readFile(path.resolve(__dirname, 'demo', 'styles', 'index.css'), 'utf-8', (err, data) => {
      if (err) throw err
      res.setHeader('Content-Type', 'text/css;charset=utf-8');
      res.end(data)
    })
  } else if (req.url === '/js/index.js' && req.method === 'GET') {
    fs.readFile(path.resolve(__dirname, 'demo', 'js', 'index.js'), 'utf-8', (err, data) => {
      if (err) throw err
      res.setHeader('Content-Type', 'application/x-javascript;charset=utf-8');
      res.end(data)
    })
  } else if(req.url === '/imgs/111.png' && req.method === 'GET') {
    fs.readFile(path.resolve(__dirname, 'demo', 'imgs', '111.png'),  (err, data) => {
      if (err) throw err
      res.setHeader('Content-Type', '	image/png');
      res.end(data)
    })
  }else {
    // setHeader() 用于设置响应头，也就是响应的数据格式
    res.setHeader('Content-Type', 'text/plain;charset=utf-8');
    res.end('你好')
  }
})

// 监听服务器端口
server.listen(8000, function () {
  console.log('服务跑在8000端口');
})